#ifndef CLIENT_H
#define CLIENT_H

#include <QWidget>
#include "Enroll.h"
#include "Mainpage.h"
#include <QTcpSocket>

QT_BEGIN_NAMESPACE
namespace Ui {
class Client;
}
QT_END_NAMESPACE

class Client : public QWidget
{
    Q_OBJECT

public:
    Client(QWidget *parent = nullptr);
    ~Client();

protected:
    // 用于拖动窗口的事件处理函数
    void mousePressEvent(QMouseEvent *event) override;
    void mouseMoveEvent(QMouseEvent *event) override;

    void paintEvent(QPaintEvent *event) override;

private slots:
    void on_enroll_clicked();

    void on_login_clicked();

    void onReadyRead();  // 处理服务器返回的数据

private:
    Ui::Client *ui;
    QTcpSocket *socket;  // TCP Socket
    void sendDataToServer(const QString &employeeId, const QString &password);  // 发送数据到服务器
    void handleServerResponse(const QString &response);  // 处理服务器返回的响应
    QString employeeId;  // 保存工号以便传递到 Mainpage

    // 用于记录拖动时鼠标位置的成员变量
    QPoint m_dragPosition;

    // 添加用于判断是否点击标题栏的成员变量
    bool m_isTitleBarClicked = false;
};
#endif // CLIENT_H
